package Reflect;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class proxyUtil {

    //方法的作用：给一个明星的对象，创建一个代理

    //形参：被代理的明星对象
    //返回值：给明星创建的代理
    public static star createProxy(bigstar bigstar){

        //参数1：用于指定哪个类加载器，去加载生成的代理类
        //参数2：指定接口，这些接口用于指定生成的代理长什么，也就是有哪些方法
        //参数3：用于指定生成的代理对象要干什么事情

        star star = (Reflect.star) Proxy.newProxyInstance(proxyUtil.class.getClassLoader(),
                new Class[]{star.class},
                new InvocationHandler() {
                    @Override
                    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                        return null;
                    }
                }
        );
        return star;

    }
}
